//
//  EsFaceIDModule.h
//  esfaceid
//
//  Created by es on 2021/12/15.
//

#ifndef EsFaceIDModule_h
#define EsFaceIDModule_h

#import <Foundation/Foundation.h>
#import "../esfaceid.h"
#import "DCUniModule.h"
NS_ASSUME_NONNULL_BEGIN

@interface EsFaceIDModule : DCUniModule<EsOnVerifyCallback>


-(NSDictionary *)esCreate:(NSString *)certificate config:(NSDictionary*)config;

-(NSDictionary *)esDestory;

-(NSString *)getCertificateInfo;

-(NSArray *)listDBs;

-(NSDictionary *)addFeatureToDb:(NSDictionary *)featureJsonObject dbName:(NSString *)dbName;

-(void)startVerify:(UniModuleKeepAliveCallback)callback dbName:(NSString *)dbName;

-(void)stopVerify;

-(NSDictionary *)getFaceFeatureWithFileUrl:(NSString *)url;

-(NSDictionary *)clearDb:(NSString *)dbName;

-(void)recognitionFace:(UniModuleKeepAliveCallback)callback dbName:(NSString *)dbName image:(UIImage *)image;

-(void)recognitionFaceWithFileUrl:(UniModuleKeepAliveCallback)callback dbName:(NSString *)dbName image:(NSString *)image;

-(void)recognitionFaceWithBase64:(UniModuleKeepAliveCallback)callback dbName:(NSString *)dbName image:(NSString *)image;

//public EsFaceIDResult clearDb(String dbName)

//public EsFaceIDResult getFaceFeatureWithFileUrl(String url)

//public String getSDKVersion()
//public EsFeatureVersion getFeatureVersion(byte[] feature)
//public EsFaceIDResult getFaceFeature(String image)
//public int getDbSize(String dbName)
//public EsFaceIDResult deleteFeatureToDb(String personId, String dbName)
//public List<String> listDBs()
//public List<String> listPersonId(int limit, int offset, String dbName)
//public EsFaceIDResult clearDb(String dbName)
//public int[] verifyFaceFeature(byte[] featA, byte[][] feats)
//public int verifyFaceFeature(byte[] featA, byte[] featB)
//public Map<String, Integer> verifyFaceFeatureByDbName(byte[] featA, String dbName)
//public Map<String, Integer> verifyFaceFeatureByDbName(byte[] featA, String dbName, int threshold)
//public void startVerify(final JSCallback callback, String dbName)
//public void stopVerify()
//public String getLastLog()
@end

NS_ASSUME_NONNULL_END
#endif /* EsFaceIDModule_h */
